﻿package com.obas.model.type
{
	import com.ease.common.enums.TextualEnum;
	import com.ease.lang.Enum;
	import com.ease.lang.EnumConstants;
	import com.obas.model.type.AttributeColumnType;
	import com.obas.model.type.BaseHeadAttributeType;

	[Bindable]
	[RemoteClass(alias="com.obas.model.type.BaseHeadAttributeType")]

	public class BaseHeadAttributeType extends Enum
	{
		/* static init */
		{ initEnum(BaseHeadAttributeType); }

		/* Constants */
		public static const FLOWSEQUENCE:BaseHeadAttributeType = new BaseHeadAttributeType("FLOWSEQUENCE", "报文序列号", "FLOWSEQUENCE", "NUMBER", 0, 1);
		public static const EXPORTTIME:BaseHeadAttributeType = new BaseHeadAttributeType("EXPORTTIME", "发送日志的时间", "EXPORTTIME", "DATE", 0, 2);
		public static const DOMAINIP:BaseHeadAttributeType = new BaseHeadAttributeType("DOMAINIP", "数据采集设备的IP", "DOMAINIP", "VARCHAR2", 255, 3);
		public static const IPVERSION:BaseHeadAttributeType = new BaseHeadAttributeType("IPVERSION", "IP版本号", "IPVERSION", "NUMBER", 0, 4);
		public static const USERIP:BaseHeadAttributeType = new BaseHeadAttributeType("USERIP", "用户IP", "USERIP", "VARCHAR2", 255, 5);
		public static const USERPORT:BaseHeadAttributeType = new BaseHeadAttributeType("USERPORT", "源端口", "USERPORT", "NUMBER", 0, 6);
		public static const USERBEGINPORT:BaseHeadAttributeType = new BaseHeadAttributeType("USERBEGINPORT", "源端口块的开始端口", "USERBEGINPORT", "NUMBER", 0, 7);
		public static const USERENDPORT:BaseHeadAttributeType = new BaseHeadAttributeType("USERENDPORT", "源端口块的结束端口", "USERENDPORT", "NUMBER", 0, 8);
		public static const SERVERIP:BaseHeadAttributeType = new BaseHeadAttributeType("SERVERIP", "服务器IP", "SERVERIP", "VARCHAR2", 255, 9);
		public static const SERVERPORT:BaseHeadAttributeType = new BaseHeadAttributeType("SERVERPORT", "目的端口", "SERVERPORT", "VARCHAR2", 255, 10);
		public static const SERVERID:BaseHeadAttributeType = new BaseHeadAttributeType("SERVERID", "业务ID", "SERVERID", "NUMBER", 0, 11);
		public static const APPID:BaseHeadAttributeType = new BaseHeadAttributeType("APPID", "应用ID", "APPID", "NUMBER", 0, 12);
		public static const PROTOCOLTYPE:BaseHeadAttributeType = new BaseHeadAttributeType("PROTOCOLTYPE", "传输协议", "PROTOCOLTYPE", "NUMBER", 0, 13);
		public static const STARTTIME:BaseHeadAttributeType = new BaseHeadAttributeType("STARTTIME", "本段应用开始时间", "STARTTIME", "DATE", 0, 14);
		public static const ENDTIME:BaseHeadAttributeType = new BaseHeadAttributeType("ENDTIME", "本段应用结束时间", "ENDTIME", "DATE", 0, 15);

		private var _text:String;
		private var _columnName:String;
		private var _dataType:String;
		private var _length:int;
		private var _ordinal:int;

		/*public*/ function BaseHeadAttributeType(name:String=null ,text:String=null ,columnName:String=null ,dataType:String=null ,length:int=0 ,ordinal:int=0) {
			super.name = name;
			this._text = text;
			this._columnName = columnName;
			this._dataType = dataType;
			this._length = length;
			this._ordinal = ordinal;
		}

		public function get text():String  { return this._text; }
		public function get columnName():String  { return this._columnName; }
		public function get dataType():String  { return this._dataType; }
		public function get length():int  { return this._length; }
		public function get ordinal():int  { return this._ordinal; }

		/* constant query */
		public static function getEnumConstants():Array {
			return Enum.getEnumConstants(BaseHeadAttributeType);
		}

		public static function get(constantName:String, caseSensitive:Boolean = false):BaseHeadAttributeType {
			return BaseHeadAttributeType(Enum.get(BaseHeadAttributeType, constantName, caseSensitive));
		}
	}
}